Conversation
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
Fixes two issues causing the Prepare Base Images job to fail:
1. Hash calculation inconsistency:
- Updated hash calculation in CI and Build Base Images workflows
- Now only includes files actually copied by Dockerfile:
* ai-engine/requirements.txt
* ai-engine/requirements-dev.txt
* backend/requirements.txt
- Previously included unrelated files like backend/src/requirements.txt
and requirements-test.txt which aren't used in Docker build
- This ensures CI and Build Base Images calculate identical hashes,
allowing proper caching and preventing unnecessary rebuilds
2. redis[asyncio] dependency issue:
- redis 7.1.0 removed the [asyncio] extra as asyncio support is now
built-in
- Changed redis[asyncio]==7.1.0 to redis>=7.1.0 in:
* backend/requirements.txt
* backend/setup.py
* backend/src/requirements.txt
- Eliminates deprecation warning and potential installation issues
Related: PR #318 (dependabot/pip/backend/pip-backend-updates-c8f29f6a3c)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Code Review SummaryOverall Assessment: ✅ Approved with minor conditionsThis is a standard Dependabot PR updating 11 Python packages in the backend. The changes are low-risk but have one important consideration. Key Findings1.
|
| Package | From | To | Notes |
|---|---|---|---|
| fastapi | 0.120.0 | 0.128.0 | |
| uvicorn | 0.38.0 | 0.40.0 | Drops Python 3.9, WebSocket fixes |
| pydantic | 2.12.3 | 2.12.5 | Bug fixes, pickle error fix |
| pydantic-settings | 2.11.0 | 2.12.0 | Drops Python 3.9, new features |
| alembic | 1.17.0 | 1.18.0 | Plugin system, performance |
| redis | 7.0.0 | 7.1.0 | New features, bug fixes |
| pytest-asyncio | 1.2.0 | 1.3.0 | Drops Python 3.9, pytest 9 support |
| ruff | 0.14.2 | 0.14.11 | Bug fixes, improvements |
| black | 25.9.0 | 25.12.0 | Crash fixes, drops Python 3.9 |
Recommendations
Before Merging:
- ✅ Verify no
pydantic.v1usage exists in codebase - ✅ Ensure CI tests pass for this PR
- ✅ Monitor for any unexpected behavior post-merge
Post-Merge:
- Consider testing WebSocket endpoints specifically (uvicorn had relevant fixes)
Conclusion
This PR is safe to merge once pydantic.v1 usage is verified to be absent. The updates include bug fixes and minor improvements with no security concerns noted in the changelogs.
…th 11 updates Bumps the pip-backend-updates group with 11 updates in the /backend directory: | Package | From | To | | --- | --- | --- | | [fastapi](https://github.com/fastapi/fastapi) | `0.120.0` | `0.128.0` | | [uvicorn[standard]](https://github.com/Kludex/uvicorn) | `0.38.0` | `0.40.0` | | [pydantic](https://github.com/pydantic/pydantic) | `2.12.3` | `2.12.5` | | [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.11.0` | `2.12.0` | | [alembic](https://github.com/sqlalchemy/alembic) | `1.17.0` | `1.18.0` | | [redis[asyncio]](https://github.com/redis/redis-py) | `7.0.0` | `7.1.0` | | [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.20` | `0.0.21` | | [tomli](https://github.com/hukkin/tomli) | `2.3.0` | `2.4.0` | | [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.2.0` | `1.3.0` | | [ruff](https://github.com/astral-sh/ruff) | `0.14.2` | `0.14.11` | | [black](https://github.com/psf/black) | `25.9.0` | `25.12.0` | Updates `fastapi` from 0.120.0 to 0.128.0 - [Release notes](https://github.com/fastapi/fastapi/releases) - [Commits](fastapi/fastapi@0.120.0...0.128.0) Updates `uvicorn[standard]` from 0.38.0 to 0.40.0 - [Release notes](https://github.com/Kludex/uvicorn/releases) - [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md) - [Commits](Kludex/uvicorn@0.38.0...0.40.0) Updates `pydantic` from 2.12.3 to 2.12.5 - [Release notes](https://github.com/pydantic/pydantic/releases) - [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md) - [Commits](pydantic/pydantic@v2.12.3...v2.12.5) Updates `pydantic-settings` from 2.11.0 to 2.12.0 - [Release notes](https://github.com/pydantic/pydantic-settings/releases) - [Commits](pydantic/pydantic-settings@v2.11.0...v2.12.0) Updates `alembic` from 1.17.0 to 1.18.0 - [Release notes](https://github.com/sqlalchemy/alembic/releases) - [Changelog](https://github.com/sqlalchemy/alembic/blob/main/CHANGES) - [Commits](https://github.com/sqlalchemy/alembic/commits) Updates `redis[asyncio]` from 7.0.0 to 7.1.0 - [Release notes](https://github.com/redis/redis-py/releases) - [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES) - [Commits](redis/redis-py@v7.0.0...v7.1.0) Updates `python-multipart` from 0.0.20 to 0.0.21 - [Release notes](https://github.com/Kludex/python-multipart/releases) - [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md) - [Commits](Kludex/python-multipart@0.0.20...0.0.21) Updates `tomli` from 2.3.0 to 2.4.0 - [Changelog](https://github.com/hukkin/tomli/blob/master/CHANGELOG.md) - [Commits](hukkin/tomli@2.3.0...2.4.0) Updates `pytest-asyncio` from 1.2.0 to 1.3.0 - [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases) - [Commits](pytest-dev/pytest-asyncio@v1.2.0...v1.3.0) Updates `ruff` from 0.14.2 to 0.14.11 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.14.2...0.14.11) Updates `black` from 25.9.0 to 25.12.0 - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](psf/black@25.9.0...25.12.0) --- updated-dependencies: - dependency-name: fastapi dependency-version: 0.128.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip-backend-updates - dependency-name: uvicorn[standard] dependency-version: 0.40.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip-backend-updates - dependency-name: pydantic dependency-version: 2.12.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pip-backend-updates - dependency-name: pydantic-settings dependency-version: 2.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip-backend-updates - dependency-name: alembic dependency-version: 1.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip-backend-updates - dependency-name: redis[asyncio] dependency-version: 7.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip-backend-updates - dependency-name: python-multipart dependency-version: 0.0.21 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pip-backend-updates - dependency-name: tomli dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip-backend-updates - dependency-name: pytest-asyncio dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip-backend-updates - dependency-name: ruff dependency-version: 0.14.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pip-backend-updates - dependency-name: black dependency-version: 25.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip-backend-updates ... Signed-off-by: dependabot[bot] <support@github.com>
Fixes two issues causing the Prepare Base Images job to fail:
1. Hash calculation inconsistency:
- Updated hash calculation in CI and Build Base Images workflows
- Now only includes files actually copied by Dockerfile:
* ai-engine/requirements.txt
* ai-engine/requirements-dev.txt
* backend/requirements.txt
- Previously included unrelated files like backend/src/requirements.txt
and requirements-test.txt which aren't used in Docker build
- This ensures CI and Build Base Images calculate identical hashes,
allowing proper caching and preventing unnecessary rebuilds
2. redis[asyncio] dependency issue:
- redis 7.1.0 removed the [asyncio] extra as asyncio support is now
built-in
- Changed redis[asyncio]==7.1.0 to redis>=7.1.0 in:
* backend/requirements.txt
* backend/setup.py
* backend/src/requirements.txt
- Eliminates deprecation warning and potential installation issues
Related: PR #318 (dependabot/pip/backend/pip-backend-updates-c8f29f6a3c)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
b4bfcd9 to
e547fb3
Compare
PR Review: Dependency UpdatesThis is an automated Dependabot PR updating backend pip dependencies. Overall, the updates look good, but I found one critical issue that should be addressed before merging. Critical IssueInconsistent The Dependabot update correctly changed
Recommendation: Revert Breaking Change to NoteFastAPI 0.120.0 → 0.128.0 drops Pydantic v1 support The codebase appears to be compatible with this change already:
Other Updates (All Good)
Workflow ChangesThe CI workflow hash changes are good improvements:
✅ These changes in RecommendationRequested Change: Fix the After fixing that one line, this PR can be safely merged. |
Bumps the pip-backend-updates group with 11 updates in the /backend directory:
0.120.00.128.00.38.00.40.02.12.32.12.52.11.02.12.01.17.01.18.07.0.07.1.00.0.200.0.212.3.02.4.01.2.01.3.00.14.20.14.1125.9.025.12.0Updates
fastapifrom 0.120.0 to 0.128.0Release notes
Sourced from fastapi's releases.
... (truncated)
Commits
8322a44🔖 Release version 0.128.04b2cfcf📝 Update release notese300630➖ Drop support forpydantic.v1(#14609)1b3bea8📝 Update release notes34e8841✅ Run performance tests only on Pydantic v2 (#14608)cd90c78🔖 Release version 0.127.193f4dfd📝 Update release notes535b5da🔊 Add a customFastAPIDeprecationWarning(#14605)6b53786📝 Update release notesd98f4eb🔧 Update pre-commit to use local Ruff instead of hook (#14604)Updates
uvicorn[standard]from 0.38.0 to 0.40.0Release notes
Sourced from uvicorn[standard]'s releases.
Changelog
Sourced from uvicorn[standard]'s changelog.
Commits
9ff6004Version 0.40.0 (#2773)19df042Drop Python 3.9 (#2772)865ce7cRun strict mypy on test suite (#2771)4f40b84Version 0.39.0 (#2770)5692dfcfix(websockets): Send close frame on ASGI return (#2769)4194764chore(deps): bump the github-actions group with 2 updates (#2763)d94bf28explicitly start ASGI run with empty context (#2742)8ae0bcbchore(deps): bump the github-actions group with 2 updates (#2748)4744ff9Add groups configuration for GitHub Actions (#2747)0391372chore(deps): bump astral-sh/setup-uv from 6.8.0 to 7.1.2 (#2746)Updates
pydanticfrom 2.12.3 to 2.12.5Release notes
Sourced from pydantic's releases.
Changelog
Sourced from pydantic's changelog.
Commits
bd2d0ddPrepare release v2.12.57d0302eDocument security implications when usingcreate_model()e9ef980Fix typo in Standard Library Types documentationf2c20c0Addpydantic-docsdev dependency, make use of versioning blocksa76c1aaUpdate documentation about JSON Schema8cbc72cAdd documentation about custom__init__()99eba59Add additional test forFieldInfo.get_default()c710769Special caseMISSINGsentinel insmart_deepcopy()20a9d77Do not delete mock validator/serializer inrebuild_dataclass()c86515aUpdate parts of the model andrevalidate_instancesdocumentationUpdates
pydantic-settingsfrom 2.11.0 to 2.12.0Release notes
Sourced from pydantic-settings's releases.
Commits
584983dPrepare release 2.12 (#705)6b4d87eAdd Python 3.14 (#704)02de5b6Adapt test_protected_namespace_defaults for dev. Pydantic (#637)4239ea4Drop Python3.9 support (#699)5008c69Restore init kwarg names before returning final state dictionary. (#700)4433101Coerce env vars if strict is True. (#693)4d2ebfdStrip non-explicit default values. (#692)4a6ffcaAdd NestedSecretsSettings source (#690)7a6e96eApply source order: init > env > dotenv > secrets > defaults and pres… (#688)68563edSupport for enum kebab case. (#686)Updates
alembicfrom 1.17.0 to 1.18.0Release notes
Sourced from alembic's releases.
... (truncated)
Commits
Updates
redis[asyncio]from 7.0.0 to 7.1.0Release notes
Sourced from redis[asyncio]'s releases.
... (truncated)
Commits
f7c1755Changing current version to 8.4 as it is already GA (#3854)2235cc7Added custom event handler section (#3853)8cc50a5Changing log level to be debug for failed maintenance notification enablement...d1769a2#3612 Generating unique command cache key (#3765)b49dce1Update Type Hints for List Command Parameters from str to KeyT (#3848)46ff042Expand cluster READ_COMMANDS with additional read-only commands and reorganiz...dc47675Updating lib version to 7.1.0 and added note in README that Python 3.9 suppor...f026c1eAdding latest 8.4 image to test matrix. Updating the Hybrid VSIM query format...a5ab18fAdding support for HYBRID search. (#3813)e6fb505Adding support for CAS/CAD commands. (#3837)Updates
python-multipartfrom 0.0.20 to 0.0.21Release notes
Sourced from python-multipart's releases.
Changelog
Sourced from python-multipart's changelog.
Commits
1f72955Version 0.0.21 (#217)47ecfedAdd support for Python 3.14 and drop EOL 3.8 and 3.9 (#216)f18b709Bump the github-actions group across 1 directory with 4 updates (#214)b388e9achore: use depedency-groups inpyproject.toml(#212)6113e75Bump the github-actions group across 1 directory with 3 updates (#210)7aa8d99Bump ruff from 0.8.0 to 0.11.7 (#203)3e909f5Bump astral-sh/setup-uv from 4 to 5 in the github-actions group (#198)Updates
tomlifrom 2.3.0 to 2.4.0Changelog
Sourced from tomli's changelog.
Commits
a678e6fBump version: 2.3.0 → 2.4.0b8a1358Tests: remove now needless "TOML compliance"->"burntsushi" format conversion4979375Update GitHub actionsf890dd1Update pre-commit hooksd9c65c3Add 2.4.0 change log0efe49dUpdate README for v2.4.09eb2125TOML 1.1: Make seconds optional in Date-Time and Time (#203)12314bdTOML 1.1: Add \xHH Unicode escape code to basic strings (#202)2a2aa62TOML 1.1: Allow newlines and trailing comma in inline tables (#200)38297f8Xfail on tests for TOML 1.1 features not yet supportedUpdates
pytest-asynciofrom 1.2.0 to 1.3.0Release notes
Sourced from pytest-asyncio's releases.
Commits
2e9695fdocs: Compile changelog for v1.3.0dd0e9badocs: Reference correct issue in news fragment.4c31abeBuild(deps): Bump nh3 from 0.3.1 to 0.3.213e9477Link to migration guides from changelog4d2cf3ctests: handle Python 3.14 DefaultEventLoopPolicy deprecation warningsee3549btest: Remove obsolete test for the event_loop fixture.7a67c82tests: Fix failing test by preventing warning conversion to error.a17b689test: add pytest config to isolated test directories18afc9dfix(tests): replace runpytest_subprocess with runpytestcdc6bd1Add support for pytest 9 and drop Python 3.9 supportUpdates
rufffrom 0.14.2 to 0.14.11Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
c920cf8Bump 0.14.11 (#22462)bb757b5[ty] Don't show diagnostics for excluded files (#22455)1f49e8eInclude configuredsrcdirectories when resolving graphs (#22451)701f513[ty] Only consider fully static pivots when deriving transitive constraints (...eea9ad8Pin maturin version (#22454)eeac2bd[ty] Optimize union building for unions with many enum-literal members (#22363)7319c37docs: fix jupyter notebook discovery info for editors (#22447)805503c[ruff] Improve fix title forRUF102invalid rule code (#22100)68a2f6c[ty] Fixsuper()with TypeVar-annotatedselfandclsparameter (#22208)abaa735[ty] ImproveUnionBuilderperformance by changingType::is_subtype_ofcal...Updates
blackfrom 25.9.0 to 25.12.0Release notes
Sourced from black's releases.
... (truncated)
Changelog
Sourced from black's changelog.